// 可将数字字符串转换为带逗号的数字字符串，并可指定要保留的小数位
/**
 *
 * @param {number, string} v 需要处理的数字或能被Number函数处理的字符串
 * @param {number} deci 保留的小数位
 * @param {boolean} withThousand 是否显示千分位
 * @returns 结果字符串或原数据
 */
export function formatAmount(v, deci, withThousand) {
  if (v || v === 0) {
    const num = Number(v)
    if (num !== num) {
      // 此时num为NaN
      return v
    }

    if (deci > 0 && withThousand) {
      return num.toLocaleString('zh', {
        minimumFractionDigits: deci,
        maximumFractionDigits: deci,
      })
    } else if (deci > 0) {
      return num.toFixed(deci)
    } else if (withThousand) {
      return num.toLocaleString('zh')
    } else {
      return v
    }
  } else {
    return v
  }
}
